The reliable storage of data benefits from being protected against various forms of destruction or data loss. Some of these risks are physical and tangible, such as failure of a storage drive, fire, or flood. Others are intangible or logical, such as accidental deletion of a file, or attack by a computer virus. Data storage systems have specific ways in which they protect against this second category of loss. For example, file versioning, tape backups, or periodic backup to a remote server may be used to protect against data loss. Many of these solutions are periodic, meaning that the protection is invoked weekly, once a day, or possibly even less frequently. As a result, recovered data after a failure can incur loss of data up to the amount created during the time period between two backups.
Continuous data protection (CDP) or continuous backup is increasingly used to protect data. In some CDP solutions, a copy of every change made to the stores data is automatically saved in a journal device. This essentially captures every version of the data over time. Storing data continuously with an associated time stamp in a journal device is called journaling. Journaling can provide support for users or administrators to restore data to any point in time.
Journal assisted replication (JAR) is another method used to protect data from disaster. JAR replicates input/output (I/O) operations from a journal device to a remote volume. This replication mechanism can provide an improved recovery point objective (RPO) since I/O operations in the journal may maintain write-order fidelity.
The journal device is critical to data protection technologies like CDP and JAR. One main challenge in implementing a journal device is to avoid introducing a performance penalty on the data storage system associated with using the journal device.
It is with respect to these considerations and others that the disclosure made herein is presented.